package com.xframe.xdal.core.autofill.proc;

import cn.hutool.core.lang.Snowflake;
import com.xframe.xdal.core.autofill.IAutoFillBean;
import com.xframe.xdal.core.autofill.IAutoProc;

/**
 * 雪花ID自动填充
 *
 * @author xufeng
 * @date 2022-09-19
 * @version 1.0
 * */
public class SnowflakeAutoProc implements IAutoProc {

    Snowflake snowflake = new Snowflake(1L,1L);
    /**
     * 自动填充处理
     *
     * @param autoFillBean 自动填充处理配置
     * @param entity 被填充的对象
     * @return 雪花ID Long
     */
    @Override
    public Object getVal(IAutoFillBean autoFillBean, Object entity, Object val) {

        return snowflake.nextId();
    }
}
